1. Field of the Invention
The present invention relates to databases and, more particularly, to controlling access to data stored in records of a database.
2. Description of the Related Art
Databases are used to store data in a manner that facilitates subsequent use of the data. A database includes one or more files, each of which contains one or more records. A record holds information about a subject or item in its various fields.
To allow a user to more easily access and manage a database, database programs have recently been developed. Database programs often provide a user interface which allows the user to conveniently interact with the database program. Accordingly, by interacting with the user interface, the user of the database can perform various operations on the data stored in the database. The interface can be a Graphical User Interface that allows users to conveniently interact with the database program and, in turn, with the database. For example, a user may interact with the user interface to view the data in various ways. The visual representations provided to the user can include, for example, a browse mode. The browse mode allows records to be viewed, changed, sorted, deleted, or added.
FIG. 1 is a representative screen depiction from a conventional database program, namely, FileMaker Pro 4.0 by FileMaker Pro, Inc. of Santa Clara, Calif. The screen depiction pertains to an asset management database having three records. A browse mode for the first record of the ASSET MANAGEMENT database is depicted. The browse mode is suitable for on-line or screen viewing of the records of the asset management database and allows the records to be viewed or deleted. The data in the fields of the record can be changed, sorted, deleted or added in the browse mode.
Accordingly, a database program provides the user of the database with the ability to conveniently perform various operations on data stored in the database. As will be appreciated, at times it is desirable to limit a user's access to data. Moreover, it is highly desirable to provide the ability to limit the access privileges of the users of the database with respect to operations that can be performed on the database on a record by record basis. This allows the flexibility to control access to the record in the database based on assigned access privileges.
Unfortunately, conventional database programs do not provide the ability to conveniently control the access privileges of the users of the database with respect to data stored in a particular record. Typically, conventional database programs allow a user to have access to all the records stored in the database in a file or no access at all to any of the records in that file. Similarly, a user of a conventional database program may be provided access to a particular field in all of the records in a file or no access at all to that particular field in any of the records in that file.
It should be noted that controlling access privileges to various records of some conventional databases may be achieved using conventional techniques. However, this is achieved with some difficulty. Typically, providing record level access in these conventional databases requires knowledge of the implementation details of the database, as well as a significant amount of programming (e.g., writing programming scripts). Accordingly, programming to provide record level access cannot be done conveniently by a user who may not have programming experience and/or knowledge of the implementation details of the database or database program. Furthermore, these conventional databases typically do not provide a Graphical User Interface that can be used to conveniently control access to records of a database on a record by record basis. Thus, the ability to conveniently limit access privileges of the users of the database on a record by record basis is not provided by conventional database programs. Furthermore, controlling access on a record by record basis can only be achieved with difficulty on some conventional databases (e.g., writing programming scripts).
In view of the foregoing, there is a need for improved techniques to control access to records stored in databases.